package com.ssd.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ssd.mapper.SkuClassDao;
import com.ssd.entity.SkuClassEntity;
import com.ssd.mapper.SkuDao;
import com.ssd.service.SkuClassService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
 * 商品类别业务实现
 */
@Service
public class SkuClassServiceImpl extends ServiceImpl<SkuClassDao, SkuClassEntity> implements SkuClassService {
    @Autowired
    private SkuClassDao skuClassDao;

    /**
     * 查询商品类型列表
     *
     * @param currentPage
     * @param pageSize
     * @param skuClassName
     * @return 商品类型集合
     */
    @Override
    public Page<Map<String, Object>> getSkuClassList(int currentPage, int pageSize,String skuClassName) {
        Page<Map<String, Object>> page = new Page<>(currentPage, pageSize);
        return skuClassDao.getSkuClassList(page,skuClassName);
    }

    /**
     * 查询商品类型
     *
     * @param classId 商品类型主键
     * @return 商品类型
     */
    @Override
    public SkuClassEntity selectSkuClassByClassId(Long classId) {
        return skuClassDao.selectSkuClassByClassId(classId);
    }

    /**
     * 新增商品类型
     *
     * @param skuClass 商品类型
     * @return 结果
     */
    @Override
    public int insertSkuClass(SkuClassEntity skuClass) {
        skuClass.setParentId(0);
        return skuClassDao.insertSkuClass(skuClass);
    }

    /**
     * 修改商品类型
     *
     * @param skuClass 商品类型
     * @return 结果
     */
    @Override
    public int updateSkuClass(SkuClassEntity skuClass) {
        return skuClassDao.updateSkuClass(skuClass);
    }

    /**
     * 批量删除商品类型
     *
     * @param classIds 需要删除的商品类型主键集合
     * @return 结果
     */
    @Override
    public int deleteSkuClassByClassIds(Long[] classIds) {
        return skuClassDao.deleteSkuClassByClassIds(classIds);
    }

    /**
     * 删除商品类型信息
     *
     * @param classId 商品类型主键
     * @return 结果
     */
    @Override
    public int deleteSkuClassByClassId(Long classId) {
        return skuClassDao.deleteSkuClassByClassId(classId);
    }
}
